LINDEF Notes
----------------------------------------------------------------------

CEILINGS
Design Notes:
    1. If a player/monster is under a non-crushing lowering ceiling 
       it will pause at head height until the entity moves away.
    2. A sector whose ceiling lowers or rises could need upper
       textures around its perimeter that the editor might not warn about.
    3. Use of lower unpegged walls in a sector with a moving ceiling
       can look better as this will prevent the walls from moving with
       it. Same reason door jambs are set lower unpegged.
CRUSHERS
Design notes:
   1. Fast crush means slow damage, Slow crush means fast damage.
   2. You may wish to set lower unpegged on walls in the crusher sector
   3. You'll need upper textures on the crusher ceiling piston walls and
      lower textures on the crusher floor piston walls - note the
      editor will not warn if you start with the crusher open.
   4. If the means to start a crusher is beyond the crusher then you
      can be irrevocably locked out by turning the crusher off when
      its closed.
   5. A barrel will explode when crushed
   6. Inventory is not damaged by crushing but looks peculiar
DOORS
Design Notes:
   1. A door opens when its ceiling rises to the minimum adjacent
      neighbor ceiling height minus 4.
   2. A door closes when its ceiling lowers to the floor height. 
   3. When a door closes on a person or monster the door bounces off
      its head without damage until the party leaves the door sector.
      When a door closes on inventory it is crushed to a bloodspot.
   4. A few door linedefs do not require sector tags. The sector on
      the second sidedef of the door linedef is the affected sector.
      The first sidedef of the door must be the one space is used on.
      All linedefs with this property are marked as nS1 or nSR triggers.
      ALL other door linedefs require tags.
   5. The faces of the door require upper textures. If the floor of
      the door jamb is above or below the connected floors the faces
      will require lower textures too. Unless a walk-thru wall is
      intended the normal face texture should be - or transparent.
      It is recommended you do not set upper unpegged on a door face.
   6. The sides of the door jamb require the lower unpegged flag 
      set and normal textures.
   7. For trouble free doors, inset the door into a void filled double
      wall and make the buffer sector on each side the same height as
      the door texture. Set the transparent linedefs on each side of
      the inset to lower and upper unpegged. This will align
      textures. You'll need upper textures above the insets unless
      the door texture and room height are the same. Making the inset
      wider than the door allows easy use of key identifier textures.
   8. When making doors (especially ones facing outside areas) be
      careful not to specify sky ceilings as this will cause the door
      face to vanish in a poor looking fashion.
EXITS
Design Notes:
   1. Which level is transited to depends on whether Doom 1 or 2 is
      being played and the mission/map number of the level and
      whether it is a normal or secret exit. Watch out for secret
      exit lindefs when porting Doom 1 to 2 or vice-versa.
FLOORS
Design Notes:
     1. Neighbor always refers to adjacent neighbor, i.e. a sector
        with a linedef in common not just a vertex.
     2. Linedefs 37, and 84, Lower to Min Neighbor and Change to
        Neighbor will trash the sector type if no lower neighbor exists.
     3. The number of sectors associated with moving platform linedefs
        like 87 is limited in a level to somewhere abouts 24 total.
     4. Floors can be blocked from lowering if a monster is stuck
        between floor and ceiling. Inventory is usually ok to squish
        but you may catch glimpses of the objects thru non-transparent
        walls from some viewing angles, sometimes.
LIFTS
Design Notes:
    1. Placing a lift linedef too close to a door linedef can prevent
       the door from operating.
    2. A lift lowers to the minimum adjacent neighbor floor. It
       pauses about 3 seconds and then returns to its floor height.
    3. Make sure you assign textures behind the lift when it lowers
       as the editor won't usually warn you of these if missing.
    4. The floor height of the lift can be modified by other linedefs
       while retaining lift operation.
    5. A lift does not need any "lift linedefs" bounding it as long
       it has a sector tag associated with at least one lift linedef.
    6. In the 1.2 engine a fireball or rocket fired over a walkover
       lift lindef could lower it.
LIGHTS
Design Notes:
     1. Neighbor always refers to adjacent neighbor, i.e. a sector
     with a linedef in common not just a vertex.
MISC
Design Notes:
    1. The number of animated wall linedefs is limited per level.
    2. The operation of the Donut linedef depends on the walls of the
       donut having inward pointing first sidedefs.
STAIRS
Design Notes:
    1. A rising stair starts with the triggered step and then
       proceeds to the adjacent sector with the same texture that is
       connected by a linedef with first sidedef towards the last step. 
       In case more than one such linedef exists, the lowest numbered
       one's second sidedef sector is the next step to rise. 99 sector tags
       have no influence on stair rising, they only prevent sector
       collapse in the ID node builder.
TELEPORTERS
Design Notes:
    1. Teleporters only work when approached from the 1st sidedef.
    2. The unique tagged sector must contain a unique teleport thing
    3. A teleporter is a linedef, not a square dingus.
    4. Teleporting too soon in coop after your partner can frag them.
    5. Monsters will be blocked if the teleport exit is occupied or
       being crushed. Players can teleport into a down crusher or
       frag a monster or another player by teleporting thru them.

SECTOR Notes
----------------------------------------------------------------------

LIGHTING EFFECTS
  Design notes:
  1. Blink is regular switching between two light levels. Flicker is
     random switching between two light levels. Oscillate is a continual
     smooth transition between two light levels.
  2. Blink, flicker, and oscillate effects all work between the
     level of light programmed for the sector, and the minimum adjacent
     neighbor light level excluding the programmed sector. If there is
     no neighbor or all have higher light level, 0 is used for the second
     light level, except in the case of oscillate which then doesn't work.
  3. All sectors that have synchronized blinking types turn on and
     off at the same time, all over the level. (Is simultaneity
     meaningful in a virtual world?)

DAMAGE EFFECTS
Design Notes:
  1.When -X/Y% damage is shown, X% occurs on Too Young to Die and
    Y% on other difficulty levels, each second in a damaging sector.
  2.Damaging sectors do not hurt monsters.
  3.Like battle damage nukage damage is split between armor and health

SECRET EFFECT
Design Notes:
  1. A common error is to mark a room secret and then to split
     another small room or door from it which inherits the secret
     attribute. If the small room is inaccessible (torch alcove e.g.)
     an unreachable secret is created.
  2. Another common beginners error is to confuse this bit with the
     linedef secret bit. This is the one you want for the secrets
     score at the end. The linedef bit prevents a yellow line on the
     map from giving away a puzzle too easily.

THING Notes
----------------------------------------------------------------------

Design Notes:
    1. 2025, the radiation suit, was an item in version
       1.2, but it is not an item in version 1.666 on.
    2. Invulnerability, 2022, and invisibility, 2024,  fail to respawn in
       games played with the -altdeath command line option.
    3. Skullkeys and keycards of the same color are indistinguishable by the
       game engine - only their appearance is different.
